小公司工作 7 年,后面怎么走?
作者:沉默王二
Java 程序员进阶之路:https://tobebetterjavaer.com
大家好,我是二哥呀。
今天给大家分享一个二哥编程星球里的主题:一位球友,在小公司工作七年了,平凡而不甘平庸。他 16 年毕业,参加过安卓的培训,被骗去过外包。
后来经过自己的努力去了一家做支付的自研公司,一直工作到现在,目前薪资 20k+,技术上不能说多牛,但能独当一面,像 Tomcat 双机部署,操作日志留痕,权限参数优化,s3 对象存储等等,也都能自己琢磨解决。但对于未来的职业发展又有了很多新的思考和认知,希望“自己能更上一层楼”。
那对于大部分普通人来说,没有一帆风顺,没有平步青云,有的只是走好脚下的每一步路,不焦虑,不气馁,踏踏实实,你的付出也终将会有所回报。
还在学校读书的学生党,或者刚毕业参加工作的职场新人,多看看这些前辈的故事,我想也能得到一些能量和帮助,前面的路也会更清晰一些。
以下 👇🏻 是这位球友在星球里的分享:
先说一下我的背景吧,我是 2016 年从广东 xx 大学毕业,当时我们学校还是二本大学,现在升一本了,但总体来说还算不上特别有名的大学。大学不是计算机相关专业,跟计算机扯上一点关系,学习嵌入式和硬件的。
然后大四那年加入了 yy 网的培训,那时候是培训安卓的,因为安卓当时很火,不过安卓的部分基本没学,只是学了半桶水的 java,唯一值得称道的地方就是 java se 部分学得很牢,跟着反复敲代码,有一部分代码甚至影响到现在,比如集合呀,IO 流之类的。
毕业前,uu 打着招聘的名义招培训,然后被骗进去混了几个月,java se 部分之前学过,java web 部分又不怎么听,就是在混日子。然后自己找到了一份 5000 块的工作。不得不说跟 ii 这一类的培训相比,我的这个培训是真的坑。
进的那家公司叫 qq,是 qq 集团在广州的子公司,是一家给保险公司做外包的外包公司,还是项目外包。所以他们经常超期,超预算,然后疯狂的加班,嗯这也是常态了。现在这家公司听同事说已经倒闭,反正就理解是一家小的外包公司。
在这家公司经历了大概四五个项目,有的项目只是帮项目干点杂活,比如搞两个页面之类的,也就是复制粘贴的操作。第一个从头到尾的外包项目是帮 aa 人寿搞一个数据稽查系统。这种系统重点不在于系统逻辑,因为就是一个简单的数据抽取操作,重点在于数据怎么提取,而从 aa 人寿的多个业务系统提取数据,他们又没有文档或者说明之类的,只能凭借自身的业务知识,以及和甲方的沟通来推进。所以这个项目我干的很糟糕。
用我那时候领导的话来说,就是数据分析与清洗是我跟某某做了,然后系统的搭建是谁谁做了,你好好想想你在这个项目中做了什么。基本那几个月我就是上班如上坟,工作如受刑,难受得要死,每天都在自我怀疑中度过,然后持续了好几个月。
之后项目接近尾声了,然后我也被召唤了回去,然后公司领导在面对面谈话的时候,很直白地说,如果你还是这个状态,那你要考虑一下辞职的事情。然后又打杂了几个月,aa 人寿要求搞一个考核系统。然后这个就是我和上次负责项目搭建的同事去做。整体架构他来,具体业务模块我写,包括前端 Vue 框架的搭建也还是我来,我们两个算是整个项目的架构师。
但是我那个时候还没有意识到,其实这个项目最困难的地方不是在技术,而是没有产品,更在于甲方跟乙方这种关系。因为他们是甲方,所以等我们基本做好系统之后,而不是原型,他们才说这里不对,那里不对,然后大改;没有产品的梳理,我们一群没有经验的研发直接与甲方的需求方对接,然后需求方又是 aa 人寿的人事部门,一群很难缠的女的,今天说的事情,明天她们就会推翻重来,可想而知这个项目会变成什么样子。
最后没有办法,项目延期好几个月,开发人员都换了一轮,最后谁都烦了,妥协出一个谁都嫌弃的四不像。前两年我跟那个同事吃饭的时候,还听到他说接手维护的同事还在骂我们开发的什么垃圾玩意。
值得一提的是,我在这家公司的这几年,工资一直都是 8000,还是税前的。不是我老实,而是我根本没有底气去提。一方面就感觉我什么都不懂,页面代码也是复制粘贴,包括前端 Vue 项目的搭建也是公司要转 Vue,然后公司架构师摸索出了一条可行的道路,然后将怎么创建,怎么生成写成了文档,然后大家依瓢画葫芦而已。
而这两三年,我基本下班后和周末没有看过哪怕一页的技术书籍,或者一分钟的技术视频,技术不说进步,反而可能退步了。唯一能说上的,就是工作的时候学会了 Vue,知道怎么用 Vue 而已,如果你问了底层,我也是一头雾水。
也正是这一点微不足道的 Vue,让我找到了现在这家公司,bb 支付。这是一家第三方支付的公司,总部在上海,在广州有研发团队。19 年的时候因为公司要开展跨境业务,先后启动了跨境收单系统、跨境业务系统两个系统。因为团队是刚创建的,缺人,加上那时候我开出的底薪是 17K-20K,符合他们的薪资要求,再加上我给当时领队展示了我的 Vue 开发的系统,所以我就进来了。
值得一提的是,当时我面试的其它公司,不管是 dd 的研究所,亦或者是 ff 的外包,或者是 gg 机场的研发部门等等,无一例外都挂了。当时我根本不知道 Java 面试还有面试八股文的说法,根本没有怎么准备,就凭着一腔热血和真诚,其实是无知无畏和盲目自信,然后说着无比空白单调的项目经历,去面试!也幸亏当时的我们公司的确是缺人,否则我也进不来。
bb 支付有一点好的地方就是,这不是外包公司,而是研发自己的系统。虽然说跟产品,还有业务部门扯皮的事情还是有的,但毕竟还是有产品,我的领队在谈需求以及为人处世方面,不说是顶尖的,但至少也是非常优秀的。所以我在这家公司干得还算可以。但是上一家公司的问题也还是存在:
1.技术上的热情还是缺乏,空闲时间还是基本不学技术,永远是别人推动自己才去学。
比如二哥你说的 Java 后端四件套,你能想象我到现在都还没有学会怎么用 Java 8 的流方法吗,每次写集合操作都要去 Google 吗?你能想象我到现在都不知道怎么从零搭建 Spring 或者 Spring Boot 项目吗,如果 Spring 哪里的配置有问题我都是复制问题描述去 Google,如果 Google 没有的话,就只能去问领队了,所有的 Spring 使用都是一知半解,都是依瓢画葫芦地写?你能想象我之前从来没有听说过 Redis,然后是进了公司之后,公司要 Tomcat 双机部署,需要 session 共享,才去学 Redis,也仅仅是配置进来跟学会查询而已?你能想象我之前根本不知道还有 SQL 优化这种东西,看着系统查询很慢,然后看着 SQL 的执行计划一脸蒙,无处下手吗?
2.无可救药的懈怠与拖拉。
我们公司的考勤是靠钉钉打卡的,加上我们不在上海总部,所以我们的考勤相对宽松,比如说早上九点上班,你如果通过技术手段远程打卡了,然后有事情九点十分才到,领队也不会说什么。但是相对的,自己的活要干完,没有干完晚上自己加班加点干完,也是没有工资的。换言之我们是用平时加班没有工资来换取考勤时间的自由,这也算是一种默契吧,但不是说你可以肆无忌惮地迟到。但我偏偏就是这样。每次都是晚上看网络小说(我特别喜欢看网络小说,一旦看到自己喜欢的,就有可能熬夜看完)或者玩游戏到晚上三四点,然后睡到早上八点,甚至八点半,然后匆匆忙忙出门,九点半甚至十点才到公司。
有的时候我都在想,如果我是领导,我有我这样的手下,用不了一个星期我非得炒了这个家伙的鱿鱼不可!加上平时办事又拖拉,比如这个需求有点难搞,需要和产品沟通,或者改动很大很麻烦,我就会下意识地拖延,然后在那里干别的,偶尔瞄一下手机,总能把需求拖到最后几天。再比如我这份文档,我应该下午回来就写好发给二哥你,然后拖到晚上……之类的事例不胜枚举。
3.流于表面的振作。
毕竟我还没有脸皮厚到每次别人都来了,我迟到都能若无其事,那么为了缓解自己的愧疚心理,我会在接下来的两天里按时到公司,然后又回到迟到的节奏;如果碰到问题去问领队或者架构师,我们组里架构师脾气很大,有的时候就被叼了一顿,也不能说叼了一顿,就是语气很不好,很不耐烦的那种,让我感受到了什么叫求人要低人一等,然后发奋要学好技术,然后在密密麻麻的文档和动辄三四十个小时的视频教程中,充分演绎了什么叫从入门到放弃;亦或者想到之前面试的经历,然后再想想程序员三十五岁的职业危机,然后在这种焦灼的心理下执行一系列看似可靠的执行计划,然后执行不了几天就放弃了。
4.业务知识的缺乏。
那技术不行,那你业务知识总可以吧,实在不行可以转产品呀?呵呵,我在团队里面的定位是中前端,也就是说,Web 相关的我来实施,比如页面呀,Controller 层呀,以及部分 Service 层的代码。而这一部分代码大部分都是查询或者执行操作,具体的逻辑是通过 Dubbo 来调用其它模块的接口。换言之我这边的业务逻辑相对于其它模块来说比较少。
而领队经常说,你们要自己多跑一下系统,多做一点交易,至少要搞清楚整个业务流水的来龙去脉,也要多看代码。我都是当耳边风的,一方面是这种测试很费时,也需要其它同事的协助,看代码真的很枯燥,而且不少人还不写注释,另一方面真的是觉得麻烦,懒。
5.对于未来的迷茫。
以上的这些问题,导致的后果就是自身的迷茫。因为只要身处于程序员这一行列,都能明白,我这种对于技术不热情,对于业务不精通,态度又不端正的人,在一行是混不下去的。我现在的状态就是在温水煮青蛙,就等着被煮熟了。而且我对于技术也很是怀疑,一方面是我们领队私下谈话说的,原话差不多是这样的:在中国,单纯搞技术是没有前途的,因为技术永远是辅助,而真正能赚到钱的,还是业务。
像阿里这么牛的公司,还有其它的互联网公司,是因为技术赚到钱了吗?是因为现有业务,后面发展了才有技术的介入。所以不要只盯着技术,也要去了解业务。另一方面是我在知乎,好像是知乎上看的一个答主回答的,一个比较绝望的事实。他说他很热衷于技术,每年都关注最前沿的技术并学习,然后每年都会更新自己的简历,然后去投公司。最后悲哀地发现,不管自己怎么努力,随着年龄的增长,每年收到的 Offer 还是在下降,不管是质量上,还是数量上。这个回答让我很震惊,一个我看来这么牛的人都没有办法了,那我有什么办法?
6.三天打鱼两天晒网的公务员备考。
哈,人总不能被尿给憋死,终于某一天,我终于发现了一个好像不会被优化的工作——公务员。然后,就没有然后了,我又陷入了和程序员相同的境地:受到工作上的刺激,然后我要努力备考公务员,然后明年上岸,妈的不干这垃圾程序员了;备考好烦啊,备考这么多书籍,能学得完玩,恩睡着了,明天再说吧;我选择考公务员是对的吗?听说公务员降薪了,然后机构改革,据说现在的公务员都忙得要死要活的,要不算了?哎,在反思和放弃上我真是聪明,有一点聪明,但不多。考了两三年公,每次都是裸考。
啰啰嗦嗦地说了这么多问题,还是说回一点长处来挽回一下脸面,免得二哥你认为我在公司是什么都不做,每天都混吃等死的那种。
实际上,像领队部署下来的 Tomcat 双机部署任务,操作日志留痕任务,权限参数优化任务,s3 对象存储任务等这一类在系统上具有开创性,完全没有先例可以模仿的任务,实际上我通过 Google 去查找资料,找到例子模仿,最后完成得很不错。
比如 Tomcat 双机部署,里面涉及到了 Redis,Spring 与 Redis 的搭配,Spring-session 的使用,登陆代码的改造等等,这些都没有先例可以参考,有的时候踩到了坑,最后也是自己琢磨解决的。更不用说每个月的开发任务,我基本都能按时完成,有的时候碰到产品提的不合理的需求,我也会主动联系产品与业务,然后得出一个比较好的,双方都认可的方案来。包括现在 web 模块和客户管理模块,或者页面(JSP,非前后端分离)碰到问题,基本上谁碰到了问题,都是来找我,我也能给出一个满意的答复。实际上我也算是项目的开发主力之一了,虽然这个主力有点水分。但也仅限于此了。
也许在有些球友看来,我这样的故事略显平淡,但这就是真实的我。我相信,应该也有不少球友和我一样,在小公司里摸爬滚打,没有背景,不会拍领导的马屁,但却知道,不甘平庸,不甘堕落。
但行好事,莫问前程吧!
一个人可以走得很快,但一群人才能走得更远。二哥的编程星球已经有 1900 多名 球友加入了,如果你也需要一个良好的学习环境,戳链接 🔗加入我们吧。这是一个编程学习指南 + Java 项目实战 + LeetCode 刷题的私密圈子,你可以阅读星球专栏、向二哥提问、帮你制定学习计划、和球友一起打卡成长。
星球的知识图谱里已经沉淀了非常多优质的内容,相信能帮助你走的更快、更稳、更远。
下面 👇🏻 是二哥近期分享的一些原创内容,有在校学生党的,也有在职工作党的,多看看这些掏心掏肺的经验心得,应该会对你以后的校招&求职或者工作学习有很大的帮助 🤔。
✌️:二哥的技术派上线了哈~ ✌️:动态线程池,香啊~ ✌️:下定决心,离开外包 ✌️:华为 OD,婉拒了! ✌️:想去甲方公司,该如何准备? ✌️:去蔚来 Java 岗吧 ✌️:今天正式邮件 offer 下来了! ✌️:还是决定去华为了 ✌️:现在醒悟,还能抢救 ✌️:冲大厂秋招的一些良心建议 ✌️:华为 OD 29 万,心动! ✌️:教练,我想学编程! ✌️:抓紧时间准备春招了! ✌️:双非大二,冲 Google ✌️:想跳槽,我该如何准备?
最后,把二哥的座右铭送给大家:没有什么使我停留——除了目的,纵然岸旁有玫瑰、有绿荫、有宁静的港湾,我是不系之舟。共勉 💪。
欢迎点击左下角阅读原文了解二哥的编程星球详情,这可能是你学习求职路上最有含金量的一次点击。